package regex;

/**
 * 预定义字符类:
 * . 任何字符（与行结束符可能匹配也可能不匹配）
 * \d 数字：[0-9]
 * \w 单词字符：[a-zA-Z_0-9]
 */
public class RegexDemo04 {
    public static void main(String[] args) {
        //method01();
        //method02();
        System.out.println("a".matches("\\w"));//true
        System.out.println("1".matches("\\w"));//true
        System.out.println("%".matches("\\w"));//false
    }

    private static void method02() {
        System.out.println("1".matches("\\d"));//true
        System.out.println("1".matches("[0-9]"));//true
        System.out.println("a".matches("[0-9]"));//false
        System.out.println("19".matches("\\d\\d"));//true
    }

    private static void method01() {
        System.out.println("a".matches("."));//true
        System.out.println("1".matches("."));//true
        System.out.println("*".matches("."));//true
        System.out.println("aa".matches("."));//false
        System.out.println(".".matches("\\."));//由于.字符在正则中代表特殊含义(匹配任意字符),因此我们需要通过\进行转义
        //转义成普通字符,\在java中也具有特殊含义,因此我们还需要再加一个\转义第二个斜杠
        System.out.println("a".matches("\\."));//a不匹配.字符
    }
}
